from django.contrib import admin
from quality import models


from django import forms
# Register your models here.
class RandDFileForm(forms.ModelForm):
    class Meta:
        model = models.RandDFileModel
        fields = ( 'randd','file')
class RandDFileInline(admin.TabularInline):
    model = models.RandDFileModel
    form = RandDFileForm  # 应用自定义表单

    classes = ['collapse'] # 添加collapse类，这是Django Admin内置的
    extra = 1  # 默认显示1行空明细，可动态添加
    verbose_name = "附件"
    verbose_name_plural = "附件"

    # 明细表单字段配置
    fields = ('file',)


    # readonly_fields = ('raw_name',)  # 创建时间只读

    # 2. 允许删除明细（默认 True，若之前手动设为 False 需改回）
    can_delete = True  # 显式启用删除功能（可选，默认 True，防止被意外禁用）
    # 优化外键选择体验（支持搜索）
    autocomplete_fields = ()  # 依赖base.RawModel的Admin配置了search_fields


@admin.register(models.RandDModel)
class RandDModelAdmin(admin.ModelAdmin):
    list_display = ('name',)
    fields = ('name', 'content')  # 确保 content 字段显示在编辑页
    # 在入库单编辑页嵌入明细项（核心配置）
    inlines = [RandDFileInline,]
    # 关键：将不可编辑的字段设为只读
    readonly_fields = ('create_at', 'update_at')  # 加入这行
    # 表单字段分组
    # fieldsets = (
    #     ('研发内容', {
    #         'fields': ('name', 'content' ),
    #         'description': '请输入研发标题'
    #     }),
    #
    #     ('系统记录', {
    #         'fields': ('create_at', 'update_at'),
    #         'classes': ('collapse',),  # 可折叠
    #         'description': '创建和更新时间由系统自动记录，不可修改'
    #     })
    # )